home *** CD-ROM | disk | FTP | other *** search
- From: Julian F. Reschke <julian@GINA.UNI-MUENSTER.DE>
- Subject: setmode vs. fdopen
- Date: Mon, 18 Jan 93 14:22:11 MET DST
-
- After reading the SUN manual pages, I would say that 'fdopen' is a better
- method to handle the problem:
-
- FOPEN(3V) C LIBRARY FUNCTIONS FOPEN(3V)
-
- NAME
- fopen, freopen, fdopen - open a stream
-
- SYNOPSIS
- #include <stdio.h>
-
- FILE *fopen(filename, type)
- char *filename, *type;
-
- FILE *freopen(filename, type, stream)
- char *filename, *type;
- FILE *stream;
-
- FILE *fdopen(fd, type)
- int fd;
- char *type;
-
- DESCRIPTION
- fopen() opens the file named by filename and associates a
- stream with it. If the open succeeds, fopen() returns a
- pointer to be used to identify the stream in subsequent
- operations.
-
- filename points to a character string that contains the name
- of the file to be opened.
-
- type is a character string having one of the following
- values:
-
- r open for reading
-
- w truncate or create for writing
-
- a append: open for writing at end of file, or
- create for writing
-
- r+ open for update (reading and writing)
-
- w+ truncate or create for update
-
- a+ append; open or create for update at EOF
-
- freopen() opens the file named by filename and associates
- the stream pointed to by stream with it. The type argument
- is used just as in fopen. The original stream is closed,
- regardless of whether the open ultimately succeeds. If the
- open succeeds, freopen() returns the original value of
- stream.
-
- freopen() is typically used to attach the preopened streams
- associated with stdin, stdout, and stderr to other files.
- fdopen() associates a stream with the file descriptor fd.
- File descriptors are obtained from calls like open(2V),
- dup(2V), creat(2V), or pipe(2V), which open files but do not
- return streams. Streams are necessary input for many of the
- Section 3S library routines. The type of the stream must
- agree with the access permissions of the open file.
-
-
- ...and so on...
-
- --
- ________________ cut here _________________________
- Julian F. Reschke, Hensenstr. 142, D-W4400 Muenster
- eMail: julian@math.uni-muenster.de, jr@ms.maus.de
- ________ correct me if I'm wrong __________________
-